#pragma once

#include <boost/ptr_container/ptr_vector.hpp>

#include "../CardControl.h"
#include "../CardsGroup.hpp"
#include "../../../../utils/gui/Control.h"
#include "../../../../domain/models/Card.h"
#include "../../../../domain/models/CardsCollection.h"

namespace Views {
	namespace Helpers {
		namespace Graphic {
			namespace Deduction {
				class RoomPickDialog: public Utils::GUI::Control
				{
				protected:
					typedef boost::signal<void (Cards::RoomCard*)> OnCardPick;
					OnCardPick cardPickEvent;

					typedef CardsGroup<RoomCardControl, Cards::RoomsCards, Cards::RoomCard> CardsGroupControl;
					CardsGroupControl* cards_group;

				public:
					RoomPickDialog(Cards::RoomsCards&);
					
					boost::signals::connection doOnCardPick(const OnCardPick::slot_function_type& slot);
				};
			}
		}
	}
}
